1. Technical Field
The present invention relates to a print control software program, information processing apparatus, and printing apparatus or system, and more particularly to control of a software module that executes processing using data prepared for transmitting to an image forming apparatus.
2. Description of the Background Art
With the advancement of information digitization, image processing apparatuses such as printers or facsimile machines for outputting digitized information and scanners for digitizing document information have become indispensible apparatuses. Such image processing apparatuses have image capturing, image forming, and communication capabilities that enable them to function as printers, facsimile machines, scanners, copiers, or multi-functional apparatuses combining several of these capabilities and known as multi-functional peripherals (MFP).
A printing apparatus such as a printer used for outputting digitized document is generally used with an information processing apparatus such as a personal computer (PC), in which the printer executes a printing operation based on a print job generated by the PC. Further, such PC is typically provided with a printer driver adapted to the capabilities of each printer by installing a software program to generate print jobs to be input to the printer.
Further, before transmitting the print job from the printer driver to the printer, image drawing data prepared for the print job can be processed in various ways to enhance user's convenience. For example, a print preview using the image drawing data can be displayed, wherein such print preview is closer to an actual output image than a print preview using original data. Further, billing information can be displayed for a volume-charging printing system, as disclosed in JP-2002-333968-A, and JP-2010-066876-A.
In JP-2002-333968-A and JP-2010-066876-A, a graphics unit that prepares image drawing data, included in a printer driver as one of several modules, activates other modules that use the image drawing data prepared by the graphics unit.
The graphics unit has an interface to communicate data with an operating system (OS) to prepare the image drawing data, and such interface has high priority access within the OS because the graphics unit functions to prepare data. Typically, the OS does not accept processing or operations that are not ordinarily within its scope. However, in the case of a module such as an interface having high priority access within the OS attempting to conduct processing that is not ordinarily intended to be conducted with the OS, such operation request can nevertheless be accepted, and a dialog box is displayed so that a user can confirm whether such processing is to be executed.
For example, when one module having high priority access conducts processing to activate another module, the activated another module can be assigned the same or similar high priority access. In such a situation, the user is requested to confirm whether such high priority access is to be allowed for the activated other module.
In the above-described case, the process of generating image drawing data with the graphics unit is within the scope of normal processing for the OS. However, the activation of another module that uses the image drawing data generated by the graphics unit is not within the scope of normal processing for the OS, because such activation of another module by the graphics unit is not intended to be conducted with the OS. The activation of processing not intended to be conducted with the OS can be conducted by the OS, but such activation is not a guaranteed process and any change in the OS might disrupt such activation. The above-mentioned dialog box is displayed when the activation of processing not intended to be conducted for the OS is attempting to be conducted, indicating a state of low compatibility with the OS.
However, the dialog box may inconvenience a user who is not knowledgeable about the operation of personal computers (PCs) and may have difficulty responding to the dialog box. Further, even if the user is knowledgeable about PCs, the dialog box may still inconvenience the user because in any case the user still needs to respond to the dialog box.
Further, as above described, because the activated module can be assigned the high priority access of the module that has activated the activated module, doing so might create a security hole if the software program is purposely altered.